package cn.ffcs.system.dict.web;

import java.util.List;

import cn.ffcs.base.web.BaseAction;
import cn.ffcs.system.dict.model.Dict;
import cn.ffcs.system.dict.service.IDictTypeService;

public class DictAction<D extends Dict> extends BaseAction<D>
{
    /** 动态网路标识 */
    private static final long serialVersionUID = -8246991977511117520L;

    /** 字典 **/
    private D dict;
    
    /** 字典结果集 **/
    private List<D> dicts;
    
    /** 字典类型结果集 **/
    private List<D> lDictType;
    
    /** 字典类型服务 **/
    private IDictTypeService dictTypeService;

    /**
     * 新增或修改字典类型数据
     * @return
     */
    public String saveOrUpdate()
    {
        baseService.saveOrUpdate(dict);
        lDictType=dictTypeService.findAll();  
        returnMsg="保存操作已成功！";
        return SUCCESS;
    }

    /**
     * 删除数据
     * @return
     */
    public String remove()
    {
        baseService.remove(dict);
        returnMsg="删除操作已成功！";
        return SUCCESS;
    }

    /**
     * 批量删除
     * @return
     */
    public String batchDel()
    {
        String[] ids = getContextObjects("ids");
        baseService.batchDel(ids);
        returnMsg="批量删除操作已成功！";
        return SUCCESS;
    }

    /**
     * 根据关键值获取实体数据
     * @return
     */
    public String findById()
    {
        if (dict != null && dict.getId() != 0)
        {
            dict = (D) baseService.findById(dict.getId());
        }
        lDictType=dictTypeService.findAll();        
        
        return SUCCESS;
    }

    /**
     * 获取字典类型
     * @return
     */
    public D getDict()
    {
        return dict;
    }

    /**
     * 设置字典类型
     * @param dict
     */
    public void setDict(D dict)
    {
        this.dict = dict;
    }

    /**
     * 获取结果集
     * @return
     */
    public List<D> getDicts()
    {
        return dicts;
    }

    /**
     * 设置结果集
     * @param dicts
     */
    public void setDicts(List<D> dicts)
    {
        this.dicts = dicts;
    }

    /**
     * 获取字典类型集
     * @param dicts
     */
    public List<D> getLDictType()
    {
        return lDictType;
    }

    /**
     * 设置字典类型集
     * @param dicts
     */
    public void setLDictType(List<D> dictType)
    {
        lDictType = dictType;
    }

    /**
     * 获取字典类型服务
     * @param dicts
     */
    public IDictTypeService getDictTypeService()
    {
        return dictTypeService;
    }

    /**
     * 设置字典类型服务
     * @param dicts
     */
    public void setDictTypeService(IDictTypeService dictTypeService)
    {
        this.dictTypeService = dictTypeService;
    }
}
